108

Beginner’s Guide to Code Algorithms

108

        OldShapeBegin =​ False

        ‘End If

        NumberOfRectangles =​ NumberOfRectangles +​ 1

        NextLeftShape =​ NextLeftShape +​ 1

        Call DrawRectangle(k, l, m, n, Label, i, “Begin”) ‘Draw first box

      End If

    End If

    k =​ 6 * NextRightShape +​ 2 +​ RowOffset

    l =​ 7 +​ ColumnOffset

    m =​ k +​ 2

    n =​ 10 +​ ColumnOffset

    OldShapeEnd =​ True

    Label =​ CurrentSheet.Cells(i, 2)

    If Label <> ““ Then

      If Not ShapeExists(Label) Then

        OldShapeEnd =​ False

        ‘End If

        NumberOfRectangles =​ NumberOfRectangles +​ 1

        NextRightShape =​ NextRightShape +​ 1

        If OldShapeBegin Then

          NextLeftShape =​ NextLeftShape +​ 1

        End If

        Call DrawRectangle(k, l, m, n, Label, i, “End”) ‘Draw second box

      End If

    End If

    Call DrawArrow(i) ‘Draw the arrow

    Previousarow =​ arow

    PreviousToggleSwitch =​ ToggleSwitch

    Call FindRowToGraph(RowToGraph, ia, arow)

    If RowToGraph =​ 0 Then

      Sheets(“Entities”).Select

      While RowToGraph =​ 0 And MaxCount > 0

        Call FindMax(arow, MaxCount)

        Call FindRowToGraph(RowToGraph, ia, arow)

      Wend

    End If

    Sheets(“Diagram”).Select

‘Next

Wend

STEP 3 & 4—​continued

STEP 3 & 4—​continued

Sub DrawArrow(ByVal i As Integer)

    If Sheets(CurrentSheetName).Cells(i, 3).Value =​ ““ Then

      Sheets(CurrentSheetName).Cells(i, 3).Value =​ “BLANK!”

    End If

    If Sheets(CurrentSheetName).Cells(i, 3).Value =​ Sheets(CurrentSheetName).

Cells(i, 2).Value Then

      Sheets(CurrentSheetName).Cells(i, 3).Value =​ Sheets(CurrentSheetName).

Cells(i, 2).Value & “-​” & i

    End If

    If Sheets(CurrentSheetName).Cells(i, 3).Value =​ Sheets(CurrentSheetName).

Cells(i, 1).Value Then